//
// Created by fangp on 3/10/18.
//

#ifndef FUNNY_TRANSLATOR_SYSMATCHER_H
#define FUNNY_TRANSLATOR_SYSMATCHER_H

#include "../premise/premise.h"

typedef char * (*MacroFunc0)();
typedef char * (*MacroFunc1)(struct _Statement *);
typedef char * (*MacroFunc2)(struct _Statement *, struct _Statement *);
typedef char * (*MacroFunc3)(struct _Statement *, struct _Statement *, struct _Statement *);
typedef char * (*MacroFunc4)(struct _Statement *, struct _Statement *, struct _Statement *, struct _Statement *);

void *get_macro_function(String name);
String macro_function(String functionName, int argc, Statement **argv);

#endif //FUNNY_TRANSLATOR_SYSMATCHER_H
